package com.lagou.service;

import com.lagou.entity.TbOrder;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 订单信息表 服务类
 * </p>
 *
 * @author qjc
 * @since 2021-12-21
 */
public interface TbOrderService extends IService<TbOrder> {

    /**
     * 创建订单
     *
     * @param itemId：商品id
     * @return
     * @author qjc
     * @date 2021/12/21 3:07 下午
     */
    String createOrder(Long itemId);

    /**
     * 保存订单信息，扣减商品库存
     *
     * @param itemId
     * @return
     * @author qjc
     * @date 2021/12/21 4:12 下午
     */
    void saveOrder(long itemId);

    /**
     * 超时未支付，取消订单
     *
     * @param
     * @return
     * @author qjc
     * @date 2021/12/21 4:17 下午
     */
    Long cancelOrder(long orderId);

    /**
     * 查询该商品的订单列表
     *
     * @param itemId：商品id
     * @return
     * @author qjc
     * @date 2021/12/21 5:41 下午
     */
    List<TbOrder> getOrderList(Long itemId, Integer status);

    /**
     * 订单支付
     *
     * @param orderId：订单id
     * @return
     * @author qjc
     * @date 2021/12/21 5:16 下午
     */
    String payOrder(Long orderId);

    /**
     * 根据商品id给商品增加库存
     *
     * @param
     * @return
     * @author qjc
     * @date 2021/12/22 10:46 上午
     */
    String addStock(Long itemId,Integer count);
}
